{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Fitting a line through data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn import datasets\n",
    "boston = datasets.load_boston()\n",
    "\n",
    "from sklearn.linear_model import LinearRegression\n",
    "lr = LinearRegression()\n",
    "\n",
    "lr.fit(boston.data, boston.target)\n",
    "predictions = lr.predict(boston.data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0xd893748>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nevGpGwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xd893048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib inline    \n",
    "\n",
    "pd.Series(boston.target - predictions).hist(bins=50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('CRIM', -0.10717055656035489),\n",
       " ('ZN', 0.046395219529802856),\n",
       " ('INDUS', 0.020860239532174529),\n",
       " ('CHAS', 2.6885613993179067),\n",
       " ('NOX', -17.79575866030892),\n",
       " ('RM', 3.8047524602580083),\n",
       " ('AGE', 0.0007510617033157363),\n",
       " ('DIS', -1.4757587965198136),\n",
       " ('RAD', 0.30565503833909513),\n",
       " ('TAX', -0.012329346305271827),\n",
       " ('PTRATIO', -0.95346355469056454),\n",
       " ('B', 0.009392512722190105),\n",
       " ('LSTAT', -0.52546663290078577)]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zip(boston.feature_names, lr.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ -1.07170557e-01,   4.63952195e-02,   2.08602395e-02,\n",
       "         2.68856140e+00,  -1.77957587e+01,   3.80475246e+00,\n",
       "         7.51061703e-04,  -1.47575880e+00,   3.05655038e-01,\n",
       "        -1.23293463e-02,  -9.53463555e-01,   9.39251272e-03,\n",
       "        -5.25466633e-01])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "36.491103280361955"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['__abstractmethods__',\n",
       " '__class__',\n",
       " '__delattr__',\n",
       " '__dict__',\n",
       " '__doc__',\n",
       " '__format__',\n",
       " '__getattribute__',\n",
       " '__getstate__',\n",
       " '__hash__',\n",
       " '__init__',\n",
       " '__module__',\n",
       " '__new__',\n",
       " '__reduce__',\n",
       " '__reduce_ex__',\n",
       " '__repr__',\n",
       " '__setattr__',\n",
       " '__setstate__',\n",
       " '__sizeof__',\n",
       " '__str__',\n",
       " '__subclasshook__',\n",
       " '__weakref__',\n",
       " '_abc_cache',\n",
       " '_abc_negative_cache',\n",
       " '_abc_negative_cache_version',\n",
       " '_abc_registry',\n",
       " '_decision_function',\n",
       " '_estimator_type',\n",
       " '_get_param_names',\n",
       " '_preprocess_data',\n",
       " '_residues',\n",
       " '_set_intercept',\n",
       " 'coef_',\n",
       " 'copy_X',\n",
       " 'fit',\n",
       " 'fit_intercept',\n",
       " 'get_params',\n",
       " 'intercept_',\n",
       " 'n_jobs',\n",
       " 'normalize',\n",
       " 'predict',\n",
       " 'rank_',\n",
       " 'score',\n",
       " 'set_params',\n",
       " 'singular_']"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dir(lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr2 = LinearRegression(normalize=True)\n",
    "lr2.fit(boston.data, boston.target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "predictions2 = lr2.predict(boston.data)"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
